avatar habrahabr_full

Хабрахабр без ката



подробнее...

Следить за персональным блогом


Автоматизированная система Промышленная безопасность и охрана труда

Обновления главной ленты блогов
Вконтакте Facebook Twitter RSS Почта Livejournal
Внимание

На нашем портале можно бесплатно публиковать информацию о своей компании, размещать товары и услуги и цены на них.
Ведите свой личный или корпоративный блог и его ежедневно увидят 30 тысяч посетителей нашего сайта.

26 ноября 2018, 01:55

Ремонт выходного дня или как починить троттл контроллер Saitek Rhino X55/X56


Небольшое приключение двух джойстиков. Рассказ о том как починить Rhino Throttle Controller X55 (X56) с минимальными затратами. Читать с осторожностью! Содержит неприемлемое отношение к схемотехнике и правилам коммутации электронных устройств.

Дисклеймер! Делать так как я сделал не правильно, по-хорошему надо делать замену компонента или как минимум TVS диоды ставить!

Есть у меня два джойстика — комплекта Rhino X55 (X56) и у обоих вылетел Throttle Controller. Первый вылетел почти через год после покупки, и так появился второй — прислали по гарантии новый, более свежую модель X56. Но счастье было не долгим, его троттл контроллер тоже перестал определятся через некоторое время.

Мы его забросили, потому что было некогда возиться с гарантией, да и вторая половина — сам джойстик нормально работал.

А тут, неделю назад, сын озаботился заменить и этот по гарантии, потому что фирма Saitek перекочевала в Logitech, почему бы не попробовать?

Но не прокатило, сроки гарантии уже истекли и на второй джойстик.

Ну и раз пошла такая пьянка, то терять больше нечего и я расчехлил осциллограф.

Метода простая: тыкаем осциллографом во все места и смотрим что происходит.

Первым делом я выяснил, что к отдельно стоящей микросхеме SPI FLSAH (W25X40L) контроллер не обращается, а он должен оттуда считать идентификатор USB устройства. Кроме того, я посмотрел рабочий джойстик и там оказался точно такой же чип контроллера CY7C64215-56LTXC и вообщем было понятно что и как там работать должно.

Интереснее стало когда я заметил, что работающий чип джойстика питается 5В через DC-DC up/down преобразователь от 5В входящего с USB. Ну стало понятно что они стабилизируют питание, но на выходе 5В. А вот "погорельцы" питались 3.3В через понижающий стабилизатор. При том что чип по питанию универсальный и может работать в пределах 3.3В — 5.2В. «Хммм» подумал я, может ему питания мало? Но подача 5В не помогла.

Второе отличие было в маленькой буферной микросхеме которая переводила сигналы данных из USB 5V в 3.3V уровень. И вот когда я сравнил сигналы на входах контроллера то увидел что сигналы от компьютера в недостаточных уровнях (см картинки).

Собственно ремонт.

Ну приняв во внимание что в работающем на 5В джойстике сигналы данных ЮСБ идут напрямую в контроллер и там только шунтирующие диоды стоят, я выкорчевал этот преобразователь уровня и завел USB линии данных напрямую в контроллер. И случилось чудо! Оно заработало! Так что теперь у меня два работающих комплекта джойстика Rhino X55 и Rhino X56 .

Картинки с подписями — объяснением.

Это пациент до операции

Это пациент до операции

Так оно "не работает"

Так оно

Это обведен кружком злобный буфер. Под ним собственно чип CY7C64215-56LTXC, а еще ниже SPI FLASH W25X40L

Это обведен кружком злобный буфер. Под ним собственно чип CY7C64215-56LTXC, а еще ниже SPI FLASH W25X40L

Это сигнал USB со стороны компьютера до буфера. Обратите внимание на уровень: 3.5В

Это сигнал USB со стороны компьютера до буфера. Обратите внимание на уровень: 3.5В

Это сигнал тоже со стороны компьютера но это выход из буфера в компьютер

Это сигнал тоже со стороны компьютера но это выход из буфера в компьютер

«А вот и он! Больной зуб!»(с) это сигнал после буфера со стороны контроллера. Как видно по уровню едва дотягивает до 2,5В, так что контроллер не распознает логические единички...

«А вот и он! Больной зуб!»(с) это сигнал после буфера со стороны контроллера. Как видно по уровню едва дотягивает до 2,5В, так что контроллер не распознает логические единички...

Это сигнал со стороны контроллера (выходной) до буфера. Тоже уровень примечательный

Это сигнал со стороны контроллера (выходной) до буфера. Тоже уровень примечательный

Вот он, этот злобный буфер-преобразователь, готовимся к ампутации

Вот он, этот злобный буфер-преобразователь, готовимся к ампутации

Тараканы извлечены!

Тараканы извлечены!

К сожалению очень сложно их отпаивать — дорожки очень нежные и оторвались кое-где. Ну это не беда, такую мелочь мне паять не впервой.

К сожалению очень сложно их отпаивать - дорожки очень нежные и оторвались кое-где. Ну это не беда, такую мелочь паять не впервой :)

Готово!

Готово!

Это надо теперь залить чем-нибудь

Это надо теперь залить чем-нибудь

Это чем я дорожки соединяю

Это чем я дорожки соединяю

Результат не заставил себя ждать! Все определяется теперь!

Результат не заставил себя ждать! Все определяется теперь!

Драйверочки...

Драйверочки...

Это сигналы без буфера, как видно по уровню они такие-же как давал контроллер без (до) буфера

Это сигналы без буфера, как видно по уровню они такие-же как давал контроллер без (до) буфера

Это от компьютера в чип — видно уровень вполне достаточный теперь.

Это от компьютера в чип

Светится! :)

Светится! :)

Ну и все. В планах таки поставить защиту на эти линии.

Источник: https://habr.com/post/430990/?utm_source=habrahabr&utm_medium=rss&utm_campaign=430990